init:
    python:
        
        curjob=0
        Ahea=0
        Awea=1
        Amor=2
        Astr=3
        Acon=4
        Acha=5
        Asta=6
        Adex=7
        Awis=8
        Acre=9
        Asoc=10
        Acom=11
        Adec=12
        Amer=13
        Acoo=14
        Acra=15
        Ased=16
        Afai=17
        Amag=18
        Aart=19
        Ares=20
        Agar=21
        Arep=22
        jobRs = ("完美!","很好","一般","不太好")
        jobT = ('None','女学生','女服务员','建筑工','清洁工','舞者','裁缝','农民','守卫','士兵','美容师','商人','艺术家','铁匠','性感女郎','女祭司','巫师','厨师','研究员','园艺师','女仆')
        jobE = ("我现在只是一个学生，可是保不准我以后会是一个老师呢~",
                        "我是这个镇子最勤快的服务员，虽然不体面，但是我喜欢这种可以认识更多人的工作",
                        "为这个小镇建造最美丽的房子和纪念碑，一砖一瓦虽然很艰苦，但是完成后却是很有价值的.",
                        "清洁是如此的令我着魔，现在我见不得一点脏乱！！！",
                        "我是小镇最好的舞者，现在在学校里面教人舞蹈，学校里所有的学生都想让我来教他们.",
                        "你需要精心挑选最好的面料，颜色来制作最好看的衣服。我是镇上的一个裁缝",
                        "呜哇，乡村的生活。原理城镇的喧嚣我更愿意守着我的农场，过着平静的生活.",
                        "作为一个守卫，没有什么能够逃脱过我的，即使是最轻微的声音，最不明显的痕迹.",
                        "我加入了皇家守卫，不过不要被我的表面所迷惑，我可是很可怕的",
                        "即使是镇里的贵族也来我的美容沙龙来做美容，我的美容沙龙在镇子里独占鳌头。",
                        "在市场里我的摊位始终是访客最多的；这也理所当然，因为我是全镇最和善诚实的商人之一。",
                        "无论是绘画，雕塑，还是吟诗。我都是小镇中毋庸置疑最厉害的",
                        "需要一个攻无不克的矛，还是一个固若金汤的盾，总之来我这吧。我是镇上最精巧的铁匠",
                        "阿玛大哥，看我性感不？我去哪家酒吧，哪家酒吧就会爆满",
                        "需要帮忙么，我可以用我的信仰来帮助你的身体或者灵魂.",
                        "显灵，召。。。。各种各样的魔法，每天魔法就像食物一样不可或缺",
                        "谁吃过我的菜以后都赞不绝口，再也离不开它了。。。要不要尝一下？",
                        "不久的将来就会有街道以我的名字命名了，我致力于引起轰动的研究。",
                        "呃，有时候站在花和植物中间，我会觉的它们是活的一样.",
                        "我是一个女仆，我能做很多的事情，家庭里面不可或缺的角色哟"
                        )
        jobR = [(0,'None',0,0,0,0,0),(1,Awis,Awis,Awis,10,0,4),(2,Adex,Adex,Adex,10,0,5),(3,Astr,Astr,Astr,10,0,6),(4,Asoc,Asoc,Asoc,10,0,4),(5,Acha,Acha,Acha,10,0,5),(6,Acre,Acre,Acre,10,0,6),(7,Asta,Asta,Asta,10,0,4),(8,Acon,Acon,Acon,10,0,5),
            (9,Astr,Asta,Acom,50,50,9),(10,Acha,Asoc,Arep,60,40,11),(11,Awis,Asoc,Amer,40,60,9),(12,Adex,Acre,Aart,40,60,11),(13,Astr,Acon,Acra,60,40,12),(14,Acha,Asta,Ased,60,40,14),
            (15,Awis,Acha,Afai,60,40,10),(16,Acon,Adex,Amag,50,50,12),(17,Acre,Acon,Acoo,60,40,11),(18,Acre,Awis,Ares,40,60,10),(19,Astr,Adex,Agar,40,60,9),(20,Asta,Asoc,Adec,60,40,8)]
        jobD = ('None','本身称不上是一份真正的工作，但国王正为学生资助学费，此举是为了提高居民的受教育水平，通过现金补贴来鼓励入学。',
                    '在餐厅做服务员只是一个开始，有时候食客们可能会对你未来有所帮助！',
                    '建筑工的工作对健康非常的好，可是这项工作很危险，万一发生事故就~~~~~~',
                    '清洁工虽然是很很不起眼但是很有益的，可以在赚钱的时候结识新的朋友，从事这项工作最重要的是要善良，善于交际。',
                    '想要成为一个好的舞者，你需要有强大的人格魅力，但是如果你跳的足够出色的话，可以迎娶白富美，出任ceo，走上人生的巅峰！',
                    "作为一个裁缝，虽然技能要求很高，没有耐心和创造力的人是无法胜任的，可是好在薪资很高。努力工作吧，也许有一天你会为王室设计衣服",
                    "乡下的耕作并不是很挣钱，可是却可以使你保持健康，强健体魄",
                    "作为一个陵园守卫者，你需要很大的勇气和专注，你不能放过一丝的细节，因为偷袭者总是在暗处",
                    '成为皇家军队的战士是个值得为之付出努力的目标，但你必须要有超凡的力量和忍耐力才能实现这一目标。有风险也有回报，你最终能得以窥见格斗艺术的奥秘。',
                    '在美容沙龙里工作需要你魅力过人并且善于社交，你也能借此机会和上流社会的成员们建立起重要的友谊。',
                    '在市场工作充满压力：你需要运用自己全部的狡猾和机智来制定恰到好处的价格来获取最大利润。',
                    "没有比成为一名艺术家获取名誉、财富和关注更好的职业了。",
                    '铁匠是一份辛苦的工作，要有一定的体魄和绝对的专注，才能没有纰漏地打造出能够夺取胜利的利剑坚甲。',
                    "在夜店跳舞虽然听起来是分很烂的工作，但报酬丰厚难以拒绝，还能给你机会改进诱惑的技巧。",
                    '作为一名女祭司颂扬亚拉冯的诸神，你的信仰会愈加坚固。在神庙里你能遇到许多有影响力的宗教人物。',
                    "魔法师固然是一份诱人的工作，但也要求极大的专注和良好的敏捷。只有一件事是确定的：你不会对工作感到厌烦。",
                    '在镇上有名的餐馆里做大厨比你想象的更有收获。许多人都被美食所吸引，厨艺绝不是会被忽视的技能。',
                    '研究者的工作也许会显得枯燥：在书堆里连续研究几天魔法物品，或者是在森林里登记新物种。但如果你做出了特别的发现，又会发生什么呢？',
                    '培育花草比看上去更难。这需要毅力和对各种植物的丰富知识。一个美丽的花园可以吸引大家到来。',
                    '女仆可不是无足轻重的工作。一旦你获得了一些经验，便可以为大路上大部分贵族工作。')
        jobL = [(0,0),(Astr,Asta,-1,1,3),(Acon,Awis,-1,3,2),(Acha,Adex,-1,4,3),(Adex,Acre,-1,4,2),(Acon,Awis,-1,3,4),(Astr,Asta,-1,2,5),(Acha,Asoc,-1,4,2),(Acre,Asoc,-1,2,3),
                    (Aart,Agar,Adec,5,2),(Acom,Acoo,Ares,3,5),(Aart,Afai,Amag,2,4),(Acom,Acoo,Agar,2,5),(Arep,Ased,Adec,5,2),(Amer,Acra,Adec,5,3),
                    (Arep,Ased,Amag,3,5),(Aart,Afai,Acoo,3,5),(Amer,Ares,Agar,5,2),(Arep,Ased,Amag,2,5),(Acom,Acra,Afai,5,2),(Amer,Acra,Ares,5,2)
                    ]
        class ShowJob(object):
            def __init__(self, i):
                self.i = i
                self.tip = None
            
            def show(self):
                self.tip = ui.frame(style='default',xpos=0, ypos=585, xminimum=1024,yminimum=185)
                if self.i>0:
                    ui.fixed()
                    ui.frame(style='default',xpos=10, ypos=20, xminimum=310,yminimum=145,xmaximum=310,ymaximum=145)
                    for id,req1,req2,imp,v1,v2,pay in jobR:
                        if id==self.i:
                            ui.null()
                            ui.text("{size=18}需求属性{/size}",xpos=25,xalign=0.0,ypos=65)
                            ui.text("{size=18}实际属性{/size}",xpos=310,xalign=1.0,ypos=65)
                            ui.text("{size=16}"+str(v1)+" "+att_temp[req1]+"{/size}",xpos=25,ypos=94)
                            if attributes[req1]<v1:
                                ui.text("{size=16}"+str(attributes[req1])+"{/size} {image=gfx/no.png}",xpos=310,xalign=1.0,ypos=94)
                            else:
                                ui.text("{size=16}"+str(attributes[req1])+"{/size} {image=gfx/yes.png}",xpos=310,xalign=1.0,ypos=94)
                            if id>8:
                                ui.text("{size=16}"+str(v2)+" "+att_temp[req2]+"{/size}",xpos=25,ypos=115)
                                if attributes[req2]<v2:
                                    ui.text("{size=16}"+str(attributes[req2])+"{/size} {image=gfx/no.png}",xpos=310,xalign=1.0,ypos=115)
                                else:
                                    ui.text("{size=16}"+str(attributes[req2])+"{/size} {image=gfx/yes.png}",xpos=310,xalign=1.0,ypos=115)
                            ui.text("{size=20}增长："+att_temp[imp]+"{/size}",xpos=160,xalign=0.5,ypos=145)
                            ui.text("{size=18}基本工资："+str(pay)+" 金币/每周{/size}",xpos=590,xalign=0.5,ypos=145)
                    ui.frame(style='default',xpos=340, ypos=20, xminimum=480,yminimum=145,xmaximum=480,ymaximum=145)
                    ui.text("{size=16}"+jobD[self.i]+"{/size}",justify=True,xpos=0,ypos=45,text_align=0.0, xalign=0.5)
                    ui.close()
                    renpy.restart_interaction()
            
            def hide(self):
                if self.tip:
                    ui.remove(self.tip)
                    renpy.restart_interaction()
                    self.tip = None
label jobmenu:
    python:
        
        ui.button(style=style.trbutt,xpos=-10,ypos=-10,xminimum=1048,xmaximum=1024,yminimum=210)
        ui.text("{size=24}{color=#FF0}基础职业{/color}{/size}",xpos=0.5,ypos=12,xalign=0.5)
        ui.text("{size=24}{color=#FF0}进阶职业{/color}{/size}",xpos=0.5,ypos=72,xalign=0.5)
        showbar=0
        i=0;x=-128;y=32;w=128
        for name in jobT:
            
            if i>0:
                tt = ShowJob(i)
                for id,req1,req2,imp,v1,v2,pay in jobR:
                    if id==i:
                        
                        if attributes[req1]<v1 or attributes[req2]<v2:
                            layout.button("{size=18}{color=#AAA}"+name+"{/color}{/size}", clicked=ui.jumps("nojob"),hovered=tt.show, unhovered=tt.hide, ypos=y,xpos=x,xminimum=w,yminimum=40,yalign=0.0)
                        else:
                            layout.button("{size=18}"+name+"{/size}", clicked=ui.returns(i),hovered=tt.show, unhovered=tt.hide, ypos=y,xpos=x,xminimum=w,yminimum=40,yalign=0.0)
            i+=1
            if i<9:
                x+=128;
            elif i==9:
                x=0;y+=74;w=170
            elif i>9 and i<15:
                x+=171;
            elif i==15:
                x=0;y+=44
            elif i>15:
                x+=171;
        ui.frame(style=style.trbutt,xpos=-10,ypos=600,xminimum=1044,yminimum=195)
        ui.fixed()
        ui.frame(style=style.trbutt,xpos=20, ypos=20, xminimum=320,yminimum=145)
        ui.frame(style=style.buttonX,xalign=0.5,xpos=160, ypos=-15, xminimum=200,yminimum=42)
        ui.text("{size=24}{color=#FF0}工作汇总{/color}{/size}",xpos=0.5,ypos=2,xalign=0.5,style=style.trbutt)
        ui.frame(style=style.trbutt,xpos=345, ypos=20, xminimum=500,yminimum=145)
        ui.frame(style=style.buttonX,xalign=0.5,xpos=250, ypos=-15, xminimum=200,yminimum=42)
        ui.text("{size=24}{color=#FF0}工作详情{/color}{/size}",xpos=0.5,ypos=2,xalign=0.5,style=style.trbutt)
        ui.close()
        layout.button(u"Go Back", None, clicked=ui.returns(998),ypos=700,xpos=930,xalign=0.5,xminimum=180)
        layout.button(u"Help", None, clicked=ui.returns(999),ypos=630,xpos=930,xalign=0.5,xminimum=180)
        if advice:
            ui.window(xpos=512,ypos=500,xmaximum=1024,ymaximum=250,background="#000D")
            ui.text("在这个界面你可以选择下个星期从事的工作。在屏幕的上半部分，捏能见到各种可以选择的职业。这些职业分为两类，{color=#FF0}基础职业{/color}和{color=#FF0}进阶职业{/color}。两者的主要差异在于前者只有一项属性要求，后者有两项要求但也能让你学到更高一层的技能。如果你没有达到指定的要求就不能从事那份职业。\n把鼠标移动到职业名称上，你就能从屏幕底部看到职业要求和会提升的技能，以及两个按钮：其中一个用于显示这段帮助信息，还有一个可以返回状态界面。",justify=True, text_align=0.0, xalign=0.5,xmaximum=1000)
        
        res=ui.interact()
    if res==999:
        if advice==True:
            $ advice=False
        else:
            $ advice=True
        jump jobmenu
    if res==998:
        jump status
    $ curjob=res
label quickjob:
    $ showbar=0
    if attributes[Ahea]<jobL[curjob][3]:
        "我不能做这份工作……我太虚弱了！我可以做别的工作，或者休息一下回复身体。"
        jump choose
    if attributes[Amor]<jobL[curjob][4]:
        "我现在情绪这样低落，做不了这种工作！我可以做别的工作，或者也许应该好好放松一下。"
        jump choose
    if curjob>8 and persistent.topogigio==None and persistent.minnie==None:
        "Sorry, but in the demo you can only do the Basic Jobs. To do the Advanced Jobs, please purchase the full game!"
        jump choose
    $ forcejob = -1
    $ randomevent = -1
    python:
        
        if renpy.random.randint(0,8)>5 and week in(1,3):
            
            evr=renpy.random.randint(0,12)
            if evr in range(0,2):
                g=str(99)
            elif evr in range(2,9):
                g=str(98)
            else:
                e_c=-1
                e_j=curjob-1
                if curjob==18:
                    bg="bkg"+str(1)
                else:
                    bg="bkg"+str(curjob)
                g=str(curjob)
            randomevent="evn"+g+"_"+str(renpy.random.randint(0,4))
            if renpy.has_label(randomevent):
                renpy.jump(randomevent)
label contjob:
    if curjob==18:
        $ bg="bkg"+str(1)
    else:
        $ bg="bkg"+str(curjob)
    $ e_c=-1
    $ e_j=curjob-1
    $ curguy = 0
    $ jobF[curjob]+=1
    python:
        
        if currel==-1 and randomevent==-1 and week>1:
            for id1,id2,l,name,j1,j2,p1,p2 in loveT:
                if curguy<6 and noromance==True:
                    curguy+=1
                    continue
                if curguy>5 and nogirlromance==True:
                    curguy+=1
                    continue
                if curguy<6 and persistent.topogigio==None and loveT[curguy][0]>1:
                    curguy+=1
                    continue
                if curguy>5 and persistent.minnie==None and loveT[curguy][0]>1:
                    curguy+=1
                    continue
                
                
                if loveT[curguy][0]==0:
                    
                    if j1==curjob and p1>renpy.random.randint(0,9):
                        
                        renpy.scene()
                        renpy.show("bg")
                        GLname=name
                        loveT[curguy][0]+=1
                        renpy.jump(name)
                elif j1==curjob and p1>renpy.random.randint(1,12) and loveT[curguy][0]<3:
                    
                    renpy.scene()
                    renpy.show("bg")
                    GLname=name
                    
                    loveT[curguy][0]+=1
                    renpy.jump(name)
                elif j2==curjob and p2>renpy.random.randint(1,12) and loveT[curguy][1]<3:
                    
                    renpy.scene()
                    renpy.show("bg")
                    GLname=name
                    
                    loveT[curguy][1]+=1
                    renpy.jump(name)
                curguy+=1
label job1:
    $ workres=-1
    if renpy.random.randint(0,4)<2:
        $ new_attributes[Ahea]-=renpy.random.randint(1,2)
    if renpy.random.randint(0,4)<2:
        $ new_attributes[Amor]-=renpy.random.randint(0,1)
    $ imp=jobR[curjob][3]
    $ sk1=attributes[jobR[curjob][1]]
    $ sk2=attributes[jobR[curjob][2]]
    if easymode==False:
        if renpy.random.randint(15,35)<attributes[jobL[curjob][0]]:
            if renpy.random.randint(0,9)>7:
                $ new_attributes[jobL[curjob][0]]-=renpy.random.randint(0,2)
        if renpy.random.randint(15,35)<attributes[jobL[curjob][1]]:
            if renpy.random.randint(0,9)>7:
                $ new_attributes[jobL[curjob][1]]-=renpy.random.randint(0,2)
    scene bg
    with None
    show expression ('i_%s' % racename)  at scale(cs), baseright 
    with dissolve
    if attributes[imp]>=99:
        jump automatic
    python:
        
        jDice=[0,0,0,0];jDiceH=[1,0,0,0];jTot=0;jAuto=True
        for i in range(4):
            jDice[i]=renpy.random.randint(1,6)
            jTot+=jDice[i]
        jGuess=renpy.random.randint(int(jTot*0.6),int(jTot*0.9))
label jobloop:
    show expression ('i_%s' % racename)  at scale(cs), baseright
    python:
        
        if jAuto:
            ui.textbutton("{size=20}自动工作{/size}",style=style.buttonX, clicked=ui.returns(99),xpos=420, ypos=10, xmaximum=185, yminimum=60, xfill=True)
        ui.frame(xpos=50,ypos=100,xmaximum=625,xfill=True)
        ui.vbox(2,xalign=0.5)
        ui.text("你今天的目标是\n{size=64}"+str(jGuess)+"{/size}\n努力尽量接近那个数字但不要超过它。\n",style=style.defaultX)
        
        ui.hbox(2)
        jTot=0
        for i in range(4):
            if jDiceH[i]==0:
                ui.textbutton("{size=64}?{/size}",style=style.buttonX,clicked=ui.returns(i),xminimum=100,yminimum=100)
            else:
                jTot+=jDice[i]
                ui.textbutton("{size=54}{image=gfx/"+str(jDice[i])+".png}{/size}",style=style.buttonX,clicked=ui.returns(i),xminimum=100,yminimum=100)
        
        ui.text("{size=64} = {/size}",ypos=8)
        if jGuess-jTot<0:
            ui.textbutton("{size=64}{color=#F00}"+str(jTot)+"{/color}{/size}",style=style.buttonX,clicked=None,xminimum=100,yminimum=100)
        elif jGuess-jTot in(1,2):
            ui.textbutton("{size=64}{color=#FF0}"+str(jTot)+"{/color}{/size}",style=style.buttonX,clicked=None,xminimum=100,yminimum=100)
        elif jGuess-jTot==0:
            ui.textbutton("{size=64}{color=#0A0}"+str(jTot)+"{/color}{/size}",style=style.buttonX,clicked=None,xminimum=100,yminimum=100)
        else:
            ui.textbutton("{size=64}{color=#FFF}"+str(jTot)+"{/color}{/size}",style=style.buttonX,clicked=None,xminimum=100,yminimum=100)
        ui.close()
        jV=jGuess-jTot
        if jV<0 or jV>3:
            jV=3
        if jGuess-jTot<0:
            forcejob=9
        else:
            forcejob=int(jV*2.5)
        ui.hbox(xfill=True)
        ui.text("\n{size=32}工作结果："+jobRs[jV]+"{/size}",xalign=0.0,ypos=-5)
        ui.textbutton("{size=32}完成{/size}",style=style.buttonX,clicked=ui.returns(98),ypos=10,xalign=0.95)
        ui.close()
        ui.close()
        ui.frame(xpos=20,yalign=0.98,xmaximum=700,xfill=True)
        ui.text("操作提示：使用四个骰子来努力接近但不超过目标数字。除了第一颗以外的骰子都是隐藏着的；点击问号会显示骰子的数值并加到你的总数值里。一旦你对自己得到的结果满意了，点击“完成”按钮。如果想完全跳过这个游戏，点击屏幕顶部的“自动工作”按钮。",size=16)
        jChoice=ui.interact()
        if jChoice==99:
            forcejob=-1
            renpy.jump("automatic")
        if jChoice==98:
            if jV==0:
                new_attributes[imp]+=2
            elif jV==1:
                new_attributes[imp]+=1
            renpy.jump("automatic")
        
        jDiceH[jChoice]=1;jAuto=False
    jump jobloop
label automatic:
    $ i=renpy.random.randint(2,9)
    if sk1+sk2>30:
        $ i=renpy.random.randint(2,7)
    $ i-=(sk1/50+sk2/50)
    if forcejob>-1:
        $ i=forcejob
    if attributes[imp]<99 or forcejob<>-1:
        $ jm=40-forcejob*3
        if attributes[imp]<50:
            if renpy.random.randint(10,49+jm)>attributes[imp]:
                if curjob<9:
                    $ new_attributes[imp]+=renpy.random.randint(1,2)
                else:
                    $ new_attributes[imp]+=1
        else:
            if renpy.random.randint(50,110+jm)>attributes[imp] and i<7:
                $ new_attributes[imp]+=renpy.random.randint(0,1)
        if i<2:
            $ workres="工作结果：\n这是出色的一周，我工作非常努力，学到了很多新东西。除了通常的报酬，我还能得到额外的奖金。{fast}"
            $ new_attributes[Awea]+=renpy.random.randint(jobR[curjob][6],jobR[curjob][6]+5)
            jump effres
        elif i in range(2,5):
            $ workres="工作结果：\n这周马马虎虎，我得到了通常的报酬。{fast}"
            $ new_attributes[Awea]+=jobR[curjob][6]
            jump effres
        elif i in range(5,7):
            $ workres="工作结果：\n我对这周的工作难说满意。我只能得到一半报酬。{fast}"
            $ new_attributes[Awea]+=jobR[curjob][6]/2
            $ new_attributes[Amor]-=renpy.random.randint(0,1)
            jump effres
        else:
            $ workres="工作结果：\n可恶！这周真的很糟糕！我不可能靠着这么糟糕的工作成果得到任何报酬。{fast}"
            $ new_attributes[Amor]-=renpy.random.randint(1,2)
            jump effres
    else:
        $ workres="工作结果：\n我如此擅长这份工作，闭着眼睛都能完成。我肯定可以得到额外的报酬，尽管现在可能学不到什么新东西了。"
        $ new_attributes[imp]+=renpy.random.randint(1,2)
        $ new_attributes[Awea]+=renpy.random.randint(int(jobR[curjob][6]*1.5),int(jobR[curjob][6]*2.5))
        jump effres
label nojob:
    "不幸的是我没有从事那份职业的必要技能。请查看职业汇总界面底部显示的数值。"
    jump jobmenu
label choose:
    menu:
        "选择另一项工作":
            jump jobmenu
        "返回休息":
            jump relaxmenu